<!DOCTYPE html><html><head>
      <title>suaio_stand&#x7C97;&#x7CD9;</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      
      <link rel="stylesheet" href="file:///c:\Users\Administrator\.vscode\extensions\shd101wyy.markdown-preview-enhanced-0.6.2\node_modules\@shd101wyy\mume\dependencies\katex\katex.min.css">
      
      
      
      
      
      
      
      
      
      <style>
      /**
 * prism.js Github theme based on GitHub's theme.
 * @author Sam Clarke
 */
code[class*="language-"],
pre[class*="language-"] {
  color: #333;
  background: none;
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.4;

  -moz-tab-size: 8;
  -o-tab-size: 8;
  tab-size: 8;

  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

/* Code blocks */
pre[class*="language-"] {
  padding: .8em;
  overflow: auto;
  /* border: 1px solid #ddd; */
  border-radius: 3px;
  /* background: #fff; */
  background: #f5f5f5;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: .1em;
  border-radius: .3em;
  white-space: normal;
  background: #f5f5f5;
}

.token.comment,
.token.blockquote {
  color: #969896;
}

.token.cdata {
  color: #183691;
}

.token.doctype,
.token.punctuation,
.token.variable,
.token.macro.property {
  color: #333;
}

.token.operator,
.token.important,
.token.keyword,
.token.rule,
.token.builtin {
  color: #a71d5d;
}

.token.string,
.token.url,
.token.regex,
.token.attr-value {
  color: #183691;
}

.token.property,
.token.number,
.token.boolean,
.token.entity,
.token.atrule,
.token.constant,
.token.symbol,
.token.command,
.token.code {
  color: #0086b3;
}

.token.tag,
.token.selector,
.token.prolog {
  color: #63a35c;
}

.token.function,
.token.namespace,
.token.pseudo-element,
.token.class,
.token.class-name,
.token.pseudo-class,
.token.id,
.token.url-reference .token.variable,
.token.attr-name {
  color: #795da3;
}

.token.entity {
  cursor: help;
}

.token.title,
.token.title .token.punctuation {
  font-weight: bold;
  color: #1d3e81;
}

.token.list {
  color: #ed6a43;
}

.token.inserted {
  background-color: #eaffea;
  color: #55a532;
}

.token.deleted {
  background-color: #ffecec;
  color: #bd2c00;
}

.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}


/* JSON */
.language-json .token.property {
  color: #183691;
}

.language-markup .token.tag .token.punctuation {
  color: #333;
}

/* CSS */
code.language-css,
.language-css .token.function {
  color: #0086b3;
}

/* YAML */
.language-yaml .token.atrule {
  color: #63a35c;
}

code.language-yaml {
  color: #183691;
}

/* Ruby */
.language-ruby .token.function {
  color: #333;
}

/* Markdown */
.language-markdown .token.url {
  color: #795da3;
}

/* Makefile */
.language-makefile .token.symbol {
  color: #795da3;
}

.language-makefile .token.variable {
  color: #183691;
}

.language-makefile .token.builtin {
  color: #0086b3;
}

/* Bash */
.language-bash .token.keyword {
  color: #0086b3;
}

/* highlight */
pre[data-line] {
  position: relative;
  padding: 1em 0 1em 3em;
}
pre[data-line] .line-highlight-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  display: block;
  width: 100%;
}

pre[data-line] .line-highlight {
  position: absolute;
  left: 0;
  right: 0;
  padding: inherit 0;
  margin-top: 1em;
  background: hsla(24, 20%, 50%,.08);
  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
  pointer-events: none;
  line-height: inherit;
  white-space: pre;
}

pre[data-line] .line-highlight:before, 
pre[data-line] .line-highlight[data-end]:after {
  content: attr(data-start);
  position: absolute;
  top: .4em;
  left: .6em;
  min-width: 1em;
  padding: 0 .5em;
  background-color: hsla(24, 20%, 50%,.4);
  color: hsl(24, 20%, 95%);
  font: bold 65%/1.5 sans-serif;
  text-align: center;
  vertical-align: .3em;
  border-radius: 999px;
  text-shadow: none;
  box-shadow: 0 1px white;
}

pre[data-line] .line-highlight[data-end]:after {
  content: attr(data-end);
  top: auto;
  bottom: .4em;
}html body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ul,html body>ol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:"\00a0"}html body pre>code{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% -  300px);padding:2em calc(50% - 457px -  150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
/* Please visit the URL below for more information: */
/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */

      </style>
    </head>
    <body for="html-export">
      <div class="mume markdown-preview  ">
      <p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--><svg xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" contentscripttype="application/ecmascript" contentstyletype="text/css" height="1178px" preserveAspectRatio="none" style="width:1683px;height:1178px;background:#FFFFFF;" version="1.1" viewBox="0 0 1683 1178" width="1683px" zoomAndPan="magnify"><defs><filter height="300%" id="f11clz2zpeftgq" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacing" textLength="163" x="753.75" y="18.6855">openharmony_audio</text><!--MD5=[e396aeb6bc02155fa86f9822808e156d]
cluster frameworks--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="208" style="stroke:#000000;stroke-width:1.5;" width="506" x="599.5" y="29.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="1085.5" y="34.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1083.5" y="36.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1083.5" y="40.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="82" x="811.5" y="57.1738">frameworks</text><!--MD5=[0c1e6f59ed5c8e0ebba9f7c8d5cc2475]
cluster audio_policy--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="850" style="stroke:#000000;stroke-width:1.5;" width="649" x="132.5" y="314.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="761.5" y="319.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="759.5" y="321.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="759.5" y="325.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="88" x="413" y="342.1738">audio_policy</text><!--MD5=[3931d7c8e3e7542f9ea529660906dcd0]
cluster policy_client--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="116" style="stroke:#000000;stroke-width:1.5;" width="370" x="379.5" y="366.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="729.5" y="371.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="727.5" y="373.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="727.5" y="377.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="88" x="520.5" y="394.1738">policy_client</text><!--MD5=[474ccc197cff2073b5eb0dc71d53934d]
cluster policy_server--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="535" style="stroke:#000000;stroke-width:1.5;" width="585" x="164.5" y="597.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="729.5" y="602.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="727.5" y="604.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="727.5" y="608.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="96" x="409" y="625.1738">policy_server</text><!--MD5=[ac532c3eda34acce9267a51e70b2913d]
cluster audio_service--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="454" style="stroke:#000000;stroke-width:1.5;" width="856" x="813.5" y="306.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="1649.5" y="311.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1647.5" y="313.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1647.5" y="317.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="100" x="1191.5" y="334.1738">audio_service</text><!--MD5=[aa2f05b2676d7d34ffa7e771fb7634f3]
cluster client--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="116" style="stroke:#000000;stroke-width:1.5;" width="565" x="920.5" y="366.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="1465.5" y="371.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1463.5" y="373.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1463.5" y="377.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="39" x="1183.5" y="394.1738">client</text><!--MD5=[4ef80439e1ef409f8f3a0ec422262701]
cluster server--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="116" style="stroke:#000000;stroke-width:1.5;" width="336" x="1293.5" y="597.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="1609.5" y="602.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1607.5" y="604.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1607.5" y="608.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="1438" y="625.1738">server</text><!--MD5=[d9b319eb04de4b006956a6903f7cfe1e]
cluster source_sink--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="130" style="stroke:#000000;stroke-width:1.5;" width="392" x="861.5" y="590.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="1233.5" y="595.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1231.5" y="597.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1231.5" y="601.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="86" x="1014.5" y="618.1738">source_sink</text><!--MD5=[96c884855c6c66eeb310d9cd396f28ce]
cluster drivers_peripheral_audio--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="224" style="stroke:#000000;stroke-width:1.5;" width="487" x="861.5" y="800.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.5;" width="15" x="1328.5" y="805.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1326.5" y="807.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.5;" width="4" x="1326.5" y="811.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="179" x="1015.5" y="828.1738">drivers_peripheral_audio</text><!--MD5=[cb8eb871032ffd83817ebc1e3c5aa200]
class AudioCapturer--><rect codeline="3" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioCapturer" style="stroke:#A80036;stroke-width:1.5;" width="111" x="821" y="65.6406"/><ellipse cx="836" cy="81.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M838.7656,77.5156 Q838.9219,77.2969 839.1094,77.1875 Q839.2969,77.0781 839.5156,77.0781 Q839.8906,77.0781 840.125,77.3359 Q840.3594,77.5938 840.3594,78.2031 L840.3594,79.6563 Q840.3594,80.2656 840.125,80.5313 Q839.8906,80.7969 839.5156,80.7969 Q839.1719,80.7969 838.9688,80.5938 Q838.7656,80.4063 838.6563,79.8906 Q838.6094,79.5313 838.4219,79.3438 Q838.0938,78.9688 837.4844,78.75 Q836.875,78.5313 836.25,78.5313 Q835.4844,78.5313 834.8516,78.8594 Q834.2188,79.1875 833.7266,79.9375 Q833.2344,80.6875 833.2344,81.7188 L833.2344,82.8125 Q833.2344,84.0469 834.125,84.8672 Q835.0156,85.6875 836.6094,85.6875 Q837.5469,85.6875 838.2031,85.4375 Q838.5938,85.2813 839.0156,84.8438 Q839.2813,84.5781 839.4297,84.5 Q839.5781,84.4219 839.7813,84.4219 Q840.1094,84.4219 840.3672,84.6797 Q840.625,84.9375 840.625,85.2813 Q840.625,85.625 840.2813,86.0313 Q839.7813,86.6094 838.9844,86.9375 Q837.9063,87.3906 836.6094,87.3906 Q835.0938,87.3906 833.8906,86.7656 Q832.9063,86.2656 832.2188,85.1953 Q831.5313,84.125 831.5313,82.8438 L831.5313,81.6875 Q831.5313,80.3594 832.1484,79.2109 Q832.7656,78.0625 833.8594,77.4453 Q834.9531,76.8281 836.1875,76.8281 Q836.9219,76.8281 837.5703,76.9922 Q838.2188,77.1563 838.7656,77.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="79" x="850" y="86.5508">AudioCapturer</text><line style="stroke:#A80036;stroke-width:1.5;" x1="822" x2="931" y1="97.6406" y2="97.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="822" x2="931" y1="105.6406" y2="105.6406"/><!--MD5=[eba048222ebca642aa4b07ed2181ffc1]
class AudioCapturerPrivate--><rect codeline="4" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioCapturerPrivate" style="stroke:#A80036;stroke-width:1.5;" width="148" x="802.5" y="173.6406"/><ellipse cx="817.5" cy="189.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M820.2656,185.5156 Q820.4219,185.2969 820.6094,185.1875 Q820.7969,185.0781 821.0156,185.0781 Q821.3906,185.0781 821.625,185.3359 Q821.8594,185.5938 821.8594,186.2031 L821.8594,187.6563 Q821.8594,188.2656 821.625,188.5313 Q821.3906,188.7969 821.0156,188.7969 Q820.6719,188.7969 820.4688,188.5938 Q820.2656,188.4063 820.1563,187.8906 Q820.1094,187.5313 819.9219,187.3438 Q819.5938,186.9688 818.9844,186.75 Q818.375,186.5313 817.75,186.5313 Q816.9844,186.5313 816.3516,186.8594 Q815.7188,187.1875 815.2266,187.9375 Q814.7344,188.6875 814.7344,189.7188 L814.7344,190.8125 Q814.7344,192.0469 815.625,192.8672 Q816.5156,193.6875 818.1094,193.6875 Q819.0469,193.6875 819.7031,193.4375 Q820.0938,193.2813 820.5156,192.8438 Q820.7813,192.5781 820.9297,192.5 Q821.0781,192.4219 821.2813,192.4219 Q821.6094,192.4219 821.8672,192.6797 Q822.125,192.9375 822.125,193.2813 Q822.125,193.625 821.7813,194.0313 Q821.2813,194.6094 820.4844,194.9375 Q819.4063,195.3906 818.1094,195.3906 Q816.5938,195.3906 815.3906,194.7656 Q814.4063,194.2656 813.7188,193.1953 Q813.0313,192.125 813.0313,190.8438 L813.0313,189.6875 Q813.0313,188.3594 813.6484,187.2109 Q814.2656,186.0625 815.3594,185.4453 Q816.4531,184.8281 817.6875,184.8281 Q818.4219,184.8281 819.0703,184.9922 Q819.7188,185.1563 820.2656,185.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="116" x="831.5" y="194.5508">AudioCapturerPrivate</text><line style="stroke:#A80036;stroke-width:1.5;" x1="803.5" x2="949.5" y1="205.6406" y2="205.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="803.5" x2="949.5" y1="213.6406" y2="213.6406"/><!--MD5=[5b7902c4f1c3e82b21b3f0c444224f57]
class AudioSession--><rect codeline="5" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioSession" style="stroke:#A80036;stroke-width:1.5;" width="109" x="980" y="65.6406"/><ellipse cx="995" cy="81.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M997.7656,77.5156 Q997.9219,77.2969 998.1094,77.1875 Q998.2969,77.0781 998.5156,77.0781 Q998.8906,77.0781 999.125,77.3359 Q999.3594,77.5938 999.3594,78.2031 L999.3594,79.6563 Q999.3594,80.2656 999.125,80.5313 Q998.8906,80.7969 998.5156,80.7969 Q998.1719,80.7969 997.9688,80.5938 Q997.7656,80.4063 997.6563,79.8906 Q997.6094,79.5313 997.4219,79.3438 Q997.0938,78.9688 996.4844,78.75 Q995.875,78.5313 995.25,78.5313 Q994.4844,78.5313 993.8516,78.8594 Q993.2188,79.1875 992.7266,79.9375 Q992.2344,80.6875 992.2344,81.7188 L992.2344,82.8125 Q992.2344,84.0469 993.125,84.8672 Q994.0156,85.6875 995.6094,85.6875 Q996.5469,85.6875 997.2031,85.4375 Q997.5938,85.2813 998.0156,84.8438 Q998.2813,84.5781 998.4297,84.5 Q998.5781,84.4219 998.7813,84.4219 Q999.1094,84.4219 999.3672,84.6797 Q999.625,84.9375 999.625,85.2813 Q999.625,85.625 999.2813,86.0313 Q998.7813,86.6094 997.9844,86.9375 Q996.9063,87.3906 995.6094,87.3906 Q994.0938,87.3906 992.8906,86.7656 Q991.9063,86.2656 991.2188,85.1953 Q990.5313,84.125 990.5313,82.8438 L990.5313,81.6875 Q990.5313,80.3594 991.1484,79.2109 Q991.7656,78.0625 992.8594,77.4453 Q993.9531,76.8281 995.1875,76.8281 Q995.9219,76.8281 996.5703,76.9922 Q997.2188,77.1563 997.7656,77.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="77" x="1009" y="86.5508">AudioSession</text><line style="stroke:#A80036;stroke-width:1.5;" x1="981" x2="1088" y1="97.6406" y2="97.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="981" x2="1088" y1="105.6406" y2="105.6406"/><!--MD5=[48d98cd21fab0c6359da179fc93380f1]
class AudioStream--><rect codeline="64" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioStream" style="stroke:#A80036;stroke-width:1.5;" width="103" x="986" y="173.6406"/><ellipse cx="1001" cy="189.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1003.7656,185.5156 Q1003.9219,185.2969 1004.1094,185.1875 Q1004.2969,185.0781 1004.5156,185.0781 Q1004.8906,185.0781 1005.125,185.3359 Q1005.3594,185.5938 1005.3594,186.2031 L1005.3594,187.6563 Q1005.3594,188.2656 1005.125,188.5313 Q1004.8906,188.7969 1004.5156,188.7969 Q1004.1719,188.7969 1003.9688,188.5938 Q1003.7656,188.4063 1003.6563,187.8906 Q1003.6094,187.5313 1003.4219,187.3438 Q1003.0938,186.9688 1002.4844,186.75 Q1001.875,186.5313 1001.25,186.5313 Q1000.4844,186.5313 999.8516,186.8594 Q999.2188,187.1875 998.7266,187.9375 Q998.2344,188.6875 998.2344,189.7188 L998.2344,190.8125 Q998.2344,192.0469 999.125,192.8672 Q1000.0156,193.6875 1001.6094,193.6875 Q1002.5469,193.6875 1003.2031,193.4375 Q1003.5938,193.2813 1004.0156,192.8438 Q1004.2813,192.5781 1004.4297,192.5 Q1004.5781,192.4219 1004.7813,192.4219 Q1005.1094,192.4219 1005.3672,192.6797 Q1005.625,192.9375 1005.625,193.2813 Q1005.625,193.625 1005.2813,194.0313 Q1004.7813,194.6094 1003.9844,194.9375 Q1002.9063,195.3906 1001.6094,195.3906 Q1000.0938,195.3906 998.8906,194.7656 Q997.9063,194.2656 997.2188,193.1953 Q996.5313,192.125 996.5313,190.8438 L996.5313,189.6875 Q996.5313,188.3594 997.1484,187.2109 Q997.7656,186.0625 998.8594,185.4453 Q999.9531,184.8281 1001.1875,184.8281 Q1001.9219,184.8281 1002.5703,184.9922 Q1003.2188,185.1563 1003.7656,185.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="71" x="1015" y="194.5508">AudioStream</text><line style="stroke:#A80036;stroke-width:1.5;" x1="987" x2="1088" y1="205.6406" y2="205.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="987" x2="1088" y1="213.6406" y2="213.6406"/><!--MD5=[40c5e1218c6ebe74846808f6982c8b7c]
class AudioRenderer--><rect codeline="10" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioRenderer" style="stroke:#A80036;stroke-width:1.5;" width="115" x="634" y="65.6406"/><ellipse cx="649" cy="81.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M651.7656,77.5156 Q651.9219,77.2969 652.1094,77.1875 Q652.2969,77.0781 652.5156,77.0781 Q652.8906,77.0781 653.125,77.3359 Q653.3594,77.5938 653.3594,78.2031 L653.3594,79.6563 Q653.3594,80.2656 653.125,80.5313 Q652.8906,80.7969 652.5156,80.7969 Q652.1719,80.7969 651.9688,80.5938 Q651.7656,80.4063 651.6563,79.8906 Q651.6094,79.5313 651.4219,79.3438 Q651.0938,78.9688 650.4844,78.75 Q649.875,78.5313 649.25,78.5313 Q648.4844,78.5313 647.8516,78.8594 Q647.2188,79.1875 646.7266,79.9375 Q646.2344,80.6875 646.2344,81.7188 L646.2344,82.8125 Q646.2344,84.0469 647.125,84.8672 Q648.0156,85.6875 649.6094,85.6875 Q650.5469,85.6875 651.2031,85.4375 Q651.5938,85.2813 652.0156,84.8438 Q652.2813,84.5781 652.4297,84.5 Q652.5781,84.4219 652.7813,84.4219 Q653.1094,84.4219 653.3672,84.6797 Q653.625,84.9375 653.625,85.2813 Q653.625,85.625 653.2813,86.0313 Q652.7813,86.6094 651.9844,86.9375 Q650.9063,87.3906 649.6094,87.3906 Q648.0938,87.3906 646.8906,86.7656 Q645.9063,86.2656 645.2188,85.1953 Q644.5313,84.125 644.5313,82.8438 L644.5313,81.6875 Q644.5313,80.3594 645.1484,79.2109 Q645.7656,78.0625 646.8594,77.4453 Q647.9531,76.8281 649.1875,76.8281 Q649.9219,76.8281 650.5703,76.9922 Q651.2188,77.1563 651.7656,77.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="83" x="663" y="86.5508">AudioRenderer</text><line style="stroke:#A80036;stroke-width:1.5;" x1="635" x2="748" y1="97.6406" y2="97.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="635" x2="748" y1="105.6406" y2="105.6406"/><!--MD5=[fd676a9173893c88648d347b005f44ed]
class AudioRendererPrivate--><rect codeline="11" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioRendererPrivate" style="stroke:#A80036;stroke-width:1.5;" width="152" x="615.5" y="173.6406"/><ellipse cx="630.5" cy="189.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M633.2656,185.5156 Q633.4219,185.2969 633.6094,185.1875 Q633.7969,185.0781 634.0156,185.0781 Q634.3906,185.0781 634.625,185.3359 Q634.8594,185.5938 634.8594,186.2031 L634.8594,187.6563 Q634.8594,188.2656 634.625,188.5313 Q634.3906,188.7969 634.0156,188.7969 Q633.6719,188.7969 633.4688,188.5938 Q633.2656,188.4063 633.1563,187.8906 Q633.1094,187.5313 632.9219,187.3438 Q632.5938,186.9688 631.9844,186.75 Q631.375,186.5313 630.75,186.5313 Q629.9844,186.5313 629.3516,186.8594 Q628.7188,187.1875 628.2266,187.9375 Q627.7344,188.6875 627.7344,189.7188 L627.7344,190.8125 Q627.7344,192.0469 628.625,192.8672 Q629.5156,193.6875 631.1094,193.6875 Q632.0469,193.6875 632.7031,193.4375 Q633.0938,193.2813 633.5156,192.8438 Q633.7813,192.5781 633.9297,192.5 Q634.0781,192.4219 634.2813,192.4219 Q634.6094,192.4219 634.8672,192.6797 Q635.125,192.9375 635.125,193.2813 Q635.125,193.625 634.7813,194.0313 Q634.2813,194.6094 633.4844,194.9375 Q632.4063,195.3906 631.1094,195.3906 Q629.5938,195.3906 628.3906,194.7656 Q627.4063,194.2656 626.7188,193.1953 Q626.0313,192.125 626.0313,190.8438 L626.0313,189.6875 Q626.0313,188.3594 626.6484,187.2109 Q627.2656,186.0625 628.3594,185.4453 Q629.4531,184.8281 630.6875,184.8281 Q631.4219,184.8281 632.0703,184.9922 Q632.7188,185.1563 633.2656,185.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="120" x="644.5" y="194.5508">AudioRendererPrivate</text><line style="stroke:#A80036;stroke-width:1.5;" x1="616.5" x2="766.5" y1="205.6406" y2="205.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="616.5" x2="766.5" y1="213.6406" y2="213.6406"/><!--MD5=[df7ee9f670343637889f9cc29426676a]
class IAudioPolicy--><rect codeline="20" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="IAudioPolicy" style="stroke:#A80036;stroke-width:1.5;" width="101" x="572" y="518.6406"/><ellipse cx="587" cy="534.6406" fill="#B4A7E5" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M587.9531,531.2813 L587.9531,537.9375 L589.6719,537.9375 Q590.2813,537.9375 590.5469,538.1719 Q590.8125,538.4063 590.8125,538.7969 Q590.8125,539.1719 590.5469,539.4063 Q590.2813,539.6406 589.6719,539.6406 L584.5313,539.6406 Q583.9219,539.6406 583.6563,539.4063 Q583.3906,539.1719 583.3906,538.7813 Q583.3906,538.4063 583.6563,538.1719 Q583.9219,537.9375 584.5313,537.9375 L586.25,537.9375 L586.25,531.2813 L584.5313,531.2813 Q583.9219,531.2813 583.6563,531.0469 Q583.3906,530.8125 583.3906,530.4219 Q583.3906,530.0469 583.6563,529.8125 Q583.9219,529.5781 584.5313,529.5781 L589.6719,529.5781 Q590.2813,529.5781 590.5469,529.8125 Q590.8125,530.0469 590.8125,530.4219 Q590.8125,530.8125 590.5469,531.0469 Q590.2813,531.2813 589.6719,531.2813 L587.9531,531.2813 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="69" x="601" y="539.5508">IAudioPolicy</text><line style="stroke:#A80036;stroke-width:1.5;" x1="573" x2="672" y1="550.6406" y2="550.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="573" x2="672" y1="558.6406" y2="558.6406"/><!--MD5=[cfb0a6c7ded76a83a956b4ea54e5733f]
class AudioPolicyManager--><rect codeline="23" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioPolicyManager" style="stroke:#A80036;stroke-width:1.5;" width="143" x="563" y="410.6406"/><ellipse cx="578" cy="426.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M580.7656,422.5156 Q580.9219,422.2969 581.1094,422.1875 Q581.2969,422.0781 581.5156,422.0781 Q581.8906,422.0781 582.125,422.3359 Q582.3594,422.5938 582.3594,423.2031 L582.3594,424.6563 Q582.3594,425.2656 582.125,425.5313 Q581.8906,425.7969 581.5156,425.7969 Q581.1719,425.7969 580.9688,425.5938 Q580.7656,425.4063 580.6563,424.8906 Q580.6094,424.5313 580.4219,424.3438 Q580.0938,423.9688 579.4844,423.75 Q578.875,423.5313 578.25,423.5313 Q577.4844,423.5313 576.8516,423.8594 Q576.2188,424.1875 575.7266,424.9375 Q575.2344,425.6875 575.2344,426.7188 L575.2344,427.8125 Q575.2344,429.0469 576.125,429.8672 Q577.0156,430.6875 578.6094,430.6875 Q579.5469,430.6875 580.2031,430.4375 Q580.5938,430.2813 581.0156,429.8438 Q581.2813,429.5781 581.4297,429.5 Q581.5781,429.4219 581.7813,429.4219 Q582.1094,429.4219 582.3672,429.6797 Q582.625,429.9375 582.625,430.2813 Q582.625,430.625 582.2813,431.0313 Q581.7813,431.6094 580.9844,431.9375 Q579.9063,432.3906 578.6094,432.3906 Q577.0938,432.3906 575.8906,431.7656 Q574.9063,431.2656 574.2188,430.1953 Q573.5313,429.125 573.5313,427.8438 L573.5313,426.6875 Q573.5313,425.3594 574.1484,424.2109 Q574.7656,423.0625 575.8594,422.4453 Q576.9531,421.8281 578.1875,421.8281 Q578.9219,421.8281 579.5703,421.9922 Q580.2188,422.1563 580.7656,422.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="111" x="592" y="431.5508">AudioPolicyManager</text><line style="stroke:#A80036;stroke-width:1.5;" x1="564" x2="705" y1="442.6406" y2="442.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="564" x2="705" y1="450.6406" y2="450.6406"/><!--MD5=[4200ad4bd2b0ba01cd738f5151b9ad92]
class AudioPolicyProxy--><rect codeline="24" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioPolicyProxy" style="stroke:#A80036;stroke-width:1.5;" width="124" x="403.5" y="410.6406"/><ellipse cx="418.5" cy="426.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M421.2656,422.5156 Q421.4219,422.2969 421.6094,422.1875 Q421.7969,422.0781 422.0156,422.0781 Q422.3906,422.0781 422.625,422.3359 Q422.8594,422.5938 422.8594,423.2031 L422.8594,424.6563 Q422.8594,425.2656 422.625,425.5313 Q422.3906,425.7969 422.0156,425.7969 Q421.6719,425.7969 421.4688,425.5938 Q421.2656,425.4063 421.1563,424.8906 Q421.1094,424.5313 420.9219,424.3438 Q420.5938,423.9688 419.9844,423.75 Q419.375,423.5313 418.75,423.5313 Q417.9844,423.5313 417.3516,423.8594 Q416.7188,424.1875 416.2266,424.9375 Q415.7344,425.6875 415.7344,426.7188 L415.7344,427.8125 Q415.7344,429.0469 416.625,429.8672 Q417.5156,430.6875 419.1094,430.6875 Q420.0469,430.6875 420.7031,430.4375 Q421.0938,430.2813 421.5156,429.8438 Q421.7813,429.5781 421.9297,429.5 Q422.0781,429.4219 422.2813,429.4219 Q422.6094,429.4219 422.8672,429.6797 Q423.125,429.9375 423.125,430.2813 Q423.125,430.625 422.7813,431.0313 Q422.2813,431.6094 421.4844,431.9375 Q420.4063,432.3906 419.1094,432.3906 Q417.5938,432.3906 416.3906,431.7656 Q415.4063,431.2656 414.7188,430.1953 Q414.0313,429.125 414.0313,427.8438 L414.0313,426.6875 Q414.0313,425.3594 414.6484,424.2109 Q415.2656,423.0625 416.3594,422.4453 Q417.4531,421.8281 418.6875,421.8281 Q419.4219,421.8281 420.0703,421.9922 Q420.7188,422.1563 421.2656,422.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="92" x="432.5" y="431.5508">AudioPolicyProxy</text><line style="stroke:#A80036;stroke-width:1.5;" x1="404.5" x2="526.5" y1="442.6406" y2="442.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="404.5" x2="526.5" y1="450.6406" y2="450.6406"/><!--MD5=[f98c9f5d4f70815c316e24af2e57777a]
class AudioPolicyServer--><rect codeline="27" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioPolicyServer" style="stroke:#A80036;stroke-width:1.5;" width="130" x="373.5" y="641.6406"/><ellipse cx="388.5" cy="657.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M391.2656,653.5156 Q391.4219,653.2969 391.6094,653.1875 Q391.7969,653.0781 392.0156,653.0781 Q392.3906,653.0781 392.625,653.3359 Q392.8594,653.5938 392.8594,654.2031 L392.8594,655.6563 Q392.8594,656.2656 392.625,656.5313 Q392.3906,656.7969 392.0156,656.7969 Q391.6719,656.7969 391.4688,656.5938 Q391.2656,656.4063 391.1563,655.8906 Q391.1094,655.5313 390.9219,655.3438 Q390.5938,654.9688 389.9844,654.75 Q389.375,654.5313 388.75,654.5313 Q387.9844,654.5313 387.3516,654.8594 Q386.7188,655.1875 386.2266,655.9375 Q385.7344,656.6875 385.7344,657.7188 L385.7344,658.8125 Q385.7344,660.0469 386.625,660.8672 Q387.5156,661.6875 389.1094,661.6875 Q390.0469,661.6875 390.7031,661.4375 Q391.0938,661.2813 391.5156,660.8438 Q391.7813,660.5781 391.9297,660.5 Q392.0781,660.4219 392.2813,660.4219 Q392.6094,660.4219 392.8672,660.6797 Q393.125,660.9375 393.125,661.2813 Q393.125,661.625 392.7813,662.0313 Q392.2813,662.6094 391.4844,662.9375 Q390.4063,663.3906 389.1094,663.3906 Q387.5938,663.3906 386.3906,662.7656 Q385.4063,662.2656 384.7188,661.1953 Q384.0313,660.125 384.0313,658.8438 L384.0313,657.6875 Q384.0313,656.3594 384.6484,655.2109 Q385.2656,654.0625 386.3594,653.4453 Q387.4531,652.8281 388.6875,652.8281 Q389.4219,652.8281 390.0703,652.9922 Q390.7188,653.1563 391.2656,653.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="98" x="402.5" y="662.5508">AudioPolicyServer</text><line style="stroke:#A80036;stroke-width:1.5;" x1="374.5" x2="502.5" y1="673.6406" y2="673.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="374.5" x2="502.5" y1="681.6406" y2="681.6406"/><!--MD5=[3b87f35c1a541da6668238c80adbbf9b]
class AudioPolicyManagerStub--><rect codeline="28" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioPolicyManagerStub" style="stroke:#A80036;stroke-width:1.5;" width="168" x="538.5" y="641.6406"/><ellipse cx="553.5" cy="657.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M556.2656,653.5156 Q556.4219,653.2969 556.6094,653.1875 Q556.7969,653.0781 557.0156,653.0781 Q557.3906,653.0781 557.625,653.3359 Q557.8594,653.5938 557.8594,654.2031 L557.8594,655.6563 Q557.8594,656.2656 557.625,656.5313 Q557.3906,656.7969 557.0156,656.7969 Q556.6719,656.7969 556.4688,656.5938 Q556.2656,656.4063 556.1563,655.8906 Q556.1094,655.5313 555.9219,655.3438 Q555.5938,654.9688 554.9844,654.75 Q554.375,654.5313 553.75,654.5313 Q552.9844,654.5313 552.3516,654.8594 Q551.7188,655.1875 551.2266,655.9375 Q550.7344,656.6875 550.7344,657.7188 L550.7344,658.8125 Q550.7344,660.0469 551.625,660.8672 Q552.5156,661.6875 554.1094,661.6875 Q555.0469,661.6875 555.7031,661.4375 Q556.0938,661.2813 556.5156,660.8438 Q556.7813,660.5781 556.9297,660.5 Q557.0781,660.4219 557.2813,660.4219 Q557.6094,660.4219 557.8672,660.6797 Q558.125,660.9375 558.125,661.2813 Q558.125,661.625 557.7813,662.0313 Q557.2813,662.6094 556.4844,662.9375 Q555.4063,663.3906 554.1094,663.3906 Q552.5938,663.3906 551.3906,662.7656 Q550.4063,662.2656 549.7188,661.1953 Q549.0313,660.125 549.0313,658.8438 L549.0313,657.6875 Q549.0313,656.3594 549.6484,655.2109 Q550.2656,654.0625 551.3594,653.4453 Q552.4531,652.8281 553.6875,652.8281 Q554.4219,652.8281 555.0703,652.9922 Q555.7188,653.1563 556.2656,653.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="136" x="567.5" y="662.5508">AudioPolicyManagerStub</text><line style="stroke:#A80036;stroke-width:1.5;" x1="539.5" x2="705.5" y1="673.6406" y2="673.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="539.5" x2="705.5" y1="681.6406" y2="681.6406"/><!--MD5=[90c9416ced27b335fe8f9b9b6e61fa46]
class IAudioPolicyInterface--><rect codeline="30" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="IAudioPolicyInterface" style="stroke:#A80036;stroke-width:1.5;" width="149" x="189" y="641.6406"/><ellipse cx="204" cy="657.6406" fill="#B4A7E5" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M204.9531,654.2813 L204.9531,660.9375 L206.6719,660.9375 Q207.2813,660.9375 207.5469,661.1719 Q207.8125,661.4063 207.8125,661.7969 Q207.8125,662.1719 207.5469,662.4063 Q207.2813,662.6406 206.6719,662.6406 L201.5313,662.6406 Q200.9219,662.6406 200.6563,662.4063 Q200.3906,662.1719 200.3906,661.7813 Q200.3906,661.4063 200.6563,661.1719 Q200.9219,660.9375 201.5313,660.9375 L203.25,660.9375 L203.25,654.2813 L201.5313,654.2813 Q200.9219,654.2813 200.6563,654.0469 Q200.3906,653.8125 200.3906,653.4219 Q200.3906,653.0469 200.6563,652.8125 Q200.9219,652.5781 201.5313,652.5781 L206.6719,652.5781 Q207.2813,652.5781 207.5469,652.8125 Q207.8125,653.0469 207.8125,653.4219 Q207.8125,653.8125 207.5469,654.0469 Q207.2813,654.2813 206.6719,654.2813 L204.9531,654.2813 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="117" x="218" y="662.5508">IAudioPolicyInterface</text><line style="stroke:#A80036;stroke-width:1.5;" x1="190" x2="337" y1="673.6406" y2="673.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="190" x2="337" y1="681.6406" y2="681.6406"/><!--MD5=[fe74e3f50ea6a3fc9b637445626d5014]
class AudioAdapterManager--><rect codeline="31" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioAdapterManager" style="stroke:#A80036;stroke-width:1.5;" width="153" x="189" y="844.6406"/><ellipse cx="204" cy="860.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M206.7656,856.5156 Q206.9219,856.2969 207.1094,856.1875 Q207.2969,856.0781 207.5156,856.0781 Q207.8906,856.0781 208.125,856.3359 Q208.3594,856.5938 208.3594,857.2031 L208.3594,858.6563 Q208.3594,859.2656 208.125,859.5313 Q207.8906,859.7969 207.5156,859.7969 Q207.1719,859.7969 206.9688,859.5938 Q206.7656,859.4063 206.6563,858.8906 Q206.6094,858.5313 206.4219,858.3438 Q206.0938,857.9688 205.4844,857.75 Q204.875,857.5313 204.25,857.5313 Q203.4844,857.5313 202.8516,857.8594 Q202.2188,858.1875 201.7266,858.9375 Q201.2344,859.6875 201.2344,860.7188 L201.2344,861.8125 Q201.2344,863.0469 202.125,863.8672 Q203.0156,864.6875 204.6094,864.6875 Q205.5469,864.6875 206.2031,864.4375 Q206.5938,864.2813 207.0156,863.8438 Q207.2813,863.5781 207.4297,863.5 Q207.5781,863.4219 207.7813,863.4219 Q208.1094,863.4219 208.3672,863.6797 Q208.625,863.9375 208.625,864.2813 Q208.625,864.625 208.2813,865.0313 Q207.7813,865.6094 206.9844,865.9375 Q205.9063,866.3906 204.6094,866.3906 Q203.0938,866.3906 201.8906,865.7656 Q200.9063,865.2656 200.2188,864.1953 Q199.5313,863.125 199.5313,861.8438 L199.5313,860.6875 Q199.5313,859.3594 200.1484,858.2109 Q200.7656,857.0625 201.8594,856.4453 Q202.9531,855.8281 204.1875,855.8281 Q204.9219,855.8281 205.5703,855.9922 Q206.2188,856.1563 206.7656,856.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="121" x="218" y="865.5508">AudioAdapterManager</text><line style="stroke:#A80036;stroke-width:1.5;" x1="190" x2="341" y1="876.6406" y2="876.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="190" x2="341" y1="884.6406" y2="884.6406"/><!--MD5=[20d3c8216f826c687a819f4b42a45c01]
class AudioPolicyService--><rect codeline="32" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioPolicyService" style="stroke:#A80036;stroke-width:1.5;" width="135" x="377" y="844.6406"/><ellipse cx="392" cy="860.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M394.7656,856.5156 Q394.9219,856.2969 395.1094,856.1875 Q395.2969,856.0781 395.5156,856.0781 Q395.8906,856.0781 396.125,856.3359 Q396.3594,856.5938 396.3594,857.2031 L396.3594,858.6563 Q396.3594,859.2656 396.125,859.5313 Q395.8906,859.7969 395.5156,859.7969 Q395.1719,859.7969 394.9688,859.5938 Q394.7656,859.4063 394.6563,858.8906 Q394.6094,858.5313 394.4219,858.3438 Q394.0938,857.9688 393.4844,857.75 Q392.875,857.5313 392.25,857.5313 Q391.4844,857.5313 390.8516,857.8594 Q390.2188,858.1875 389.7266,858.9375 Q389.2344,859.6875 389.2344,860.7188 L389.2344,861.8125 Q389.2344,863.0469 390.125,863.8672 Q391.0156,864.6875 392.6094,864.6875 Q393.5469,864.6875 394.2031,864.4375 Q394.5938,864.2813 395.0156,863.8438 Q395.2813,863.5781 395.4297,863.5 Q395.5781,863.4219 395.7813,863.4219 Q396.1094,863.4219 396.3672,863.6797 Q396.625,863.9375 396.625,864.2813 Q396.625,864.625 396.2813,865.0313 Q395.7813,865.6094 394.9844,865.9375 Q393.9063,866.3906 392.6094,866.3906 Q391.0938,866.3906 389.8906,865.7656 Q388.9063,865.2656 388.2188,864.1953 Q387.5313,863.125 387.5313,861.8438 L387.5313,860.6875 Q387.5313,859.3594 388.1484,858.2109 Q388.7656,857.0625 389.8594,856.4453 Q390.9531,855.8281 392.1875,855.8281 Q392.9219,855.8281 393.5703,855.9922 Q394.2188,856.1563 394.7656,856.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="103" x="406" y="865.5508">AudioPolicyService</text><line style="stroke:#A80036;stroke-width:1.5;" x1="378" x2="511" y1="876.6406" y2="876.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="378" x2="511" y1="884.6406" y2="884.6406"/><!--MD5=[83681609f0cc17a169caf372cdd97cfb]
class AudioServiceAdapter--><rect codeline="33" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioServiceAdapter" style="stroke:#A80036;stroke-width:1.5;" width="145" x="205" y="952.6406"/><ellipse cx="220" cy="968.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M222.7656,964.5156 Q222.9219,964.2969 223.1094,964.1875 Q223.2969,964.0781 223.5156,964.0781 Q223.8906,964.0781 224.125,964.3359 Q224.3594,964.5938 224.3594,965.2031 L224.3594,966.6563 Q224.3594,967.2656 224.125,967.5313 Q223.8906,967.7969 223.5156,967.7969 Q223.1719,967.7969 222.9688,967.5938 Q222.7656,967.4063 222.6563,966.8906 Q222.6094,966.5313 222.4219,966.3438 Q222.0938,965.9688 221.4844,965.75 Q220.875,965.5313 220.25,965.5313 Q219.4844,965.5313 218.8516,965.8594 Q218.2188,966.1875 217.7266,966.9375 Q217.2344,967.6875 217.2344,968.7188 L217.2344,969.8125 Q217.2344,971.0469 218.125,971.8672 Q219.0156,972.6875 220.6094,972.6875 Q221.5469,972.6875 222.2031,972.4375 Q222.5938,972.2813 223.0156,971.8438 Q223.2813,971.5781 223.4297,971.5 Q223.5781,971.4219 223.7813,971.4219 Q224.1094,971.4219 224.3672,971.6797 Q224.625,971.9375 224.625,972.2813 Q224.625,972.625 224.2813,973.0313 Q223.7813,973.6094 222.9844,973.9375 Q221.9063,974.3906 220.6094,974.3906 Q219.0938,974.3906 217.8906,973.7656 Q216.9063,973.2656 216.2188,972.1953 Q215.5313,971.125 215.5313,969.8438 L215.5313,968.6875 Q215.5313,967.3594 216.1484,966.2109 Q216.7656,965.0625 217.8594,964.4453 Q218.9531,963.8281 220.1875,963.8281 Q220.9219,963.8281 221.5703,963.9922 Q222.2188,964.1563 222.7656,964.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="113" x="234" y="973.5508">AudioServiceAdapter</text><line style="stroke:#A80036;stroke-width:1.5;" x1="206" x2="349" y1="984.6406" y2="984.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="206" x2="349" y1="992.6406" y2="992.6406"/><!--MD5=[d46be5b3073c7e04c45ba6410f5d419f]
class PulseAudioServiceAdapterImpl--><rect codeline="34" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="PulseAudioServiceAdapterImpl" style="stroke:#A80036;stroke-width:1.5;" width="201" x="189" y="1060.6406"/><ellipse cx="204" cy="1076.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M206.7656,1072.5156 Q206.9219,1072.2969 207.1094,1072.1875 Q207.2969,1072.0781 207.5156,1072.0781 Q207.8906,1072.0781 208.125,1072.3359 Q208.3594,1072.5938 208.3594,1073.2031 L208.3594,1074.6563 Q208.3594,1075.2656 208.125,1075.5313 Q207.8906,1075.7969 207.5156,1075.7969 Q207.1719,1075.7969 206.9688,1075.5938 Q206.7656,1075.4063 206.6563,1074.8906 Q206.6094,1074.5313 206.4219,1074.3438 Q206.0938,1073.9688 205.4844,1073.75 Q204.875,1073.5313 204.25,1073.5313 Q203.4844,1073.5313 202.8516,1073.8594 Q202.2188,1074.1875 201.7266,1074.9375 Q201.2344,1075.6875 201.2344,1076.7188 L201.2344,1077.8125 Q201.2344,1079.0469 202.125,1079.8672 Q203.0156,1080.6875 204.6094,1080.6875 Q205.5469,1080.6875 206.2031,1080.4375 Q206.5938,1080.2813 207.0156,1079.8438 Q207.2813,1079.5781 207.4297,1079.5 Q207.5781,1079.4219 207.7813,1079.4219 Q208.1094,1079.4219 208.3672,1079.6797 Q208.625,1079.9375 208.625,1080.2813 Q208.625,1080.625 208.2813,1081.0313 Q207.7813,1081.6094 206.9844,1081.9375 Q205.9063,1082.3906 204.6094,1082.3906 Q203.0938,1082.3906 201.8906,1081.7656 Q200.9063,1081.2656 200.2188,1080.1953 Q199.5313,1079.125 199.5313,1077.8438 L199.5313,1076.6875 Q199.5313,1075.3594 200.1484,1074.2109 Q200.7656,1073.0625 201.8594,1072.4453 Q202.9531,1071.8281 204.1875,1071.8281 Q204.9219,1071.8281 205.5703,1071.9922 Q206.2188,1072.1563 206.7656,1072.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="169" x="218" y="1081.5508">PulseAudioServiceAdapterImpl</text><line style="stroke:#A80036;stroke-width:1.5;" x1="190" x2="389" y1="1092.6406" y2="1092.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="190" x2="389" y1="1100.6406" y2="1100.6406"/><!--MD5=[5f104dff60ac938b51e297d269c7b658]
entity pulseaudio--><rect fill="#FFFFFF" filter="url(#f11clz2zpeftgq)" height="47.6094" style="stroke:#A80036;stroke-width:1.5;" width="109" x="7" y="410.6406"/><rect fill="#FFFFFF" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="96" y="415.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="94" y="417.6406"/><rect fill="#FFFFFF" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="94" y="421.6406"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="22" y="445.1738">pulseaudio</text><!--MD5=[21901572d54c33d6a0c01ed1915475e8]
class IStandardAudioService--><rect codeline="61" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="IStandardAudioService" style="stroke:#A80036;stroke-width:1.5;" width="159" x="1403" y="518.6406"/><ellipse cx="1418" cy="534.6406" fill="#B4A7E5" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1418.9531,531.2813 L1418.9531,537.9375 L1420.6719,537.9375 Q1421.2813,537.9375 1421.5469,538.1719 Q1421.8125,538.4063 1421.8125,538.7969 Q1421.8125,539.1719 1421.5469,539.4063 Q1421.2813,539.6406 1420.6719,539.6406 L1415.5313,539.6406 Q1414.9219,539.6406 1414.6563,539.4063 Q1414.3906,539.1719 1414.3906,538.7813 Q1414.3906,538.4063 1414.6563,538.1719 Q1414.9219,537.9375 1415.5313,537.9375 L1417.25,537.9375 L1417.25,531.2813 L1415.5313,531.2813 Q1414.9219,531.2813 1414.6563,531.0469 Q1414.3906,530.8125 1414.3906,530.4219 Q1414.3906,530.0469 1414.6563,529.8125 Q1414.9219,529.5781 1415.5313,529.5781 L1420.6719,529.5781 Q1421.2813,529.5781 1421.5469,529.8125 Q1421.8125,530.0469 1421.8125,530.4219 Q1421.8125,530.8125 1421.5469,531.0469 Q1421.2813,531.2813 1420.6719,531.2813 L1418.9531,531.2813 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="127" x="1432" y="539.5508">IStandardAudioService</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1404" x2="1561" y1="550.6406" y2="550.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1404" x2="1561" y1="558.6406" y2="558.6406"/><!--MD5=[bbb0d55a2a05b299b0641062a7cd64b1]
class AudioSystemManager--><rect codeline="63" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioSystemManager" style="stroke:#A80036;stroke-width:1.5;" width="152" x="1115.5" y="410.6406"/><ellipse cx="1130.5" cy="426.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1133.2656,422.5156 Q1133.4219,422.2969 1133.6094,422.1875 Q1133.7969,422.0781 1134.0156,422.0781 Q1134.3906,422.0781 1134.625,422.3359 Q1134.8594,422.5938 1134.8594,423.2031 L1134.8594,424.6563 Q1134.8594,425.2656 1134.625,425.5313 Q1134.3906,425.7969 1134.0156,425.7969 Q1133.6719,425.7969 1133.4688,425.5938 Q1133.2656,425.4063 1133.1563,424.8906 Q1133.1094,424.5313 1132.9219,424.3438 Q1132.5938,423.9688 1131.9844,423.75 Q1131.375,423.5313 1130.75,423.5313 Q1129.9844,423.5313 1129.3516,423.8594 Q1128.7188,424.1875 1128.2266,424.9375 Q1127.7344,425.6875 1127.7344,426.7188 L1127.7344,427.8125 Q1127.7344,429.0469 1128.625,429.8672 Q1129.5156,430.6875 1131.1094,430.6875 Q1132.0469,430.6875 1132.7031,430.4375 Q1133.0938,430.2813 1133.5156,429.8438 Q1133.7813,429.5781 1133.9297,429.5 Q1134.0781,429.4219 1134.2813,429.4219 Q1134.6094,429.4219 1134.8672,429.6797 Q1135.125,429.9375 1135.125,430.2813 Q1135.125,430.625 1134.7813,431.0313 Q1134.2813,431.6094 1133.4844,431.9375 Q1132.4063,432.3906 1131.1094,432.3906 Q1129.5938,432.3906 1128.3906,431.7656 Q1127.4063,431.2656 1126.7188,430.1953 Q1126.0313,429.125 1126.0313,427.8438 L1126.0313,426.6875 Q1126.0313,425.3594 1126.6484,424.2109 Q1127.2656,423.0625 1128.3594,422.4453 Q1129.4531,421.8281 1130.6875,421.8281 Q1131.4219,421.8281 1132.0703,421.9922 Q1132.7188,422.1563 1133.2656,422.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="120" x="1144.5" y="431.5508">AudioSystemManager</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1116.5" x2="1266.5" y1="442.6406" y2="442.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1116.5" x2="1266.5" y1="450.6406" y2="450.6406"/><!--MD5=[3bf0a1b79995d744248ca64a8917e319]
class AudioServiceClient--><rect codeline="65" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioServiceClient" style="stroke:#A80036;stroke-width:1.5;" width="135" x="945" y="410.6406"/><ellipse cx="960" cy="426.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M962.7656,422.5156 Q962.9219,422.2969 963.1094,422.1875 Q963.2969,422.0781 963.5156,422.0781 Q963.8906,422.0781 964.125,422.3359 Q964.3594,422.5938 964.3594,423.2031 L964.3594,424.6563 Q964.3594,425.2656 964.125,425.5313 Q963.8906,425.7969 963.5156,425.7969 Q963.1719,425.7969 962.9688,425.5938 Q962.7656,425.4063 962.6563,424.8906 Q962.6094,424.5313 962.4219,424.3438 Q962.0938,423.9688 961.4844,423.75 Q960.875,423.5313 960.25,423.5313 Q959.4844,423.5313 958.8516,423.8594 Q958.2188,424.1875 957.7266,424.9375 Q957.2344,425.6875 957.2344,426.7188 L957.2344,427.8125 Q957.2344,429.0469 958.125,429.8672 Q959.0156,430.6875 960.6094,430.6875 Q961.5469,430.6875 962.2031,430.4375 Q962.5938,430.2813 963.0156,429.8438 Q963.2813,429.5781 963.4297,429.5 Q963.5781,429.4219 963.7813,429.4219 Q964.1094,429.4219 964.3672,429.6797 Q964.625,429.9375 964.625,430.2813 Q964.625,430.625 964.2813,431.0313 Q963.7813,431.6094 962.9844,431.9375 Q961.9063,432.3906 960.6094,432.3906 Q959.0938,432.3906 957.8906,431.7656 Q956.9063,431.2656 956.2188,430.1953 Q955.5313,429.125 955.5313,427.8438 L955.5313,426.6875 Q955.5313,425.3594 956.1484,424.2109 Q956.7656,423.0625 957.8594,422.4453 Q958.9531,421.8281 960.1875,421.8281 Q960.9219,421.8281 961.5703,421.9922 Q962.2188,422.1563 962.7656,422.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="103" x="974" y="431.5508">AudioServiceClient</text><line style="stroke:#A80036;stroke-width:1.5;" x1="946" x2="1079" y1="442.6406" y2="442.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="946" x2="1079" y1="450.6406" y2="450.6406"/><!--MD5=[bfae9040c10fbdbcdea292ba20011432]
class AudioManagerProxy--><rect codeline="66" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioManagerProxy" style="stroke:#A80036;stroke-width:1.5;" width="140" x="1302.5" y="410.6406"/><ellipse cx="1317.5" cy="426.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1320.2656,422.5156 Q1320.4219,422.2969 1320.6094,422.1875 Q1320.7969,422.0781 1321.0156,422.0781 Q1321.3906,422.0781 1321.625,422.3359 Q1321.8594,422.5938 1321.8594,423.2031 L1321.8594,424.6563 Q1321.8594,425.2656 1321.625,425.5313 Q1321.3906,425.7969 1321.0156,425.7969 Q1320.6719,425.7969 1320.4688,425.5938 Q1320.2656,425.4063 1320.1563,424.8906 Q1320.1094,424.5313 1319.9219,424.3438 Q1319.5938,423.9688 1318.9844,423.75 Q1318.375,423.5313 1317.75,423.5313 Q1316.9844,423.5313 1316.3516,423.8594 Q1315.7188,424.1875 1315.2266,424.9375 Q1314.7344,425.6875 1314.7344,426.7188 L1314.7344,427.8125 Q1314.7344,429.0469 1315.625,429.8672 Q1316.5156,430.6875 1318.1094,430.6875 Q1319.0469,430.6875 1319.7031,430.4375 Q1320.0938,430.2813 1320.5156,429.8438 Q1320.7813,429.5781 1320.9297,429.5 Q1321.0781,429.4219 1321.2813,429.4219 Q1321.6094,429.4219 1321.8672,429.6797 Q1322.125,429.9375 1322.125,430.2813 Q1322.125,430.625 1321.7813,431.0313 Q1321.2813,431.6094 1320.4844,431.9375 Q1319.4063,432.3906 1318.1094,432.3906 Q1316.5938,432.3906 1315.3906,431.7656 Q1314.4063,431.2656 1313.7188,430.1953 Q1313.0313,429.125 1313.0313,427.8438 L1313.0313,426.6875 Q1313.0313,425.3594 1313.6484,424.2109 Q1314.2656,423.0625 1315.3594,422.4453 Q1316.4531,421.8281 1317.6875,421.8281 Q1318.4219,421.8281 1319.0703,421.9922 Q1319.7188,422.1563 1320.2656,422.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="108" x="1331.5" y="431.5508">AudioManagerProxy</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1303.5" x2="1441.5" y1="442.6406" y2="442.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1303.5" x2="1441.5" y1="450.6406" y2="450.6406"/><!--MD5=[6a85c59c651ad52b9dc17d3a20c51c6d]
class AudioManagerStub--><rect codeline="75" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioManagerStub" style="stroke:#A80036;stroke-width:1.5;" width="136" x="1450.5" y="641.6406"/><ellipse cx="1465.5" cy="657.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1468.2656,653.5156 Q1468.4219,653.2969 1468.6094,653.1875 Q1468.7969,653.0781 1469.0156,653.0781 Q1469.3906,653.0781 1469.625,653.3359 Q1469.8594,653.5938 1469.8594,654.2031 L1469.8594,655.6563 Q1469.8594,656.2656 1469.625,656.5313 Q1469.3906,656.7969 1469.0156,656.7969 Q1468.6719,656.7969 1468.4688,656.5938 Q1468.2656,656.4063 1468.1563,655.8906 Q1468.1094,655.5313 1467.9219,655.3438 Q1467.5938,654.9688 1466.9844,654.75 Q1466.375,654.5313 1465.75,654.5313 Q1464.9844,654.5313 1464.3516,654.8594 Q1463.7188,655.1875 1463.2266,655.9375 Q1462.7344,656.6875 1462.7344,657.7188 L1462.7344,658.8125 Q1462.7344,660.0469 1463.625,660.8672 Q1464.5156,661.6875 1466.1094,661.6875 Q1467.0469,661.6875 1467.7031,661.4375 Q1468.0938,661.2813 1468.5156,660.8438 Q1468.7813,660.5781 1468.9297,660.5 Q1469.0781,660.4219 1469.2813,660.4219 Q1469.6094,660.4219 1469.8672,660.6797 Q1470.125,660.9375 1470.125,661.2813 Q1470.125,661.625 1469.7813,662.0313 Q1469.2813,662.6094 1468.4844,662.9375 Q1467.4063,663.3906 1466.1094,663.3906 Q1464.5938,663.3906 1463.3906,662.7656 Q1462.4063,662.2656 1461.7188,661.1953 Q1461.0313,660.125 1461.0313,658.8438 L1461.0313,657.6875 Q1461.0313,656.3594 1461.6484,655.2109 Q1462.2656,654.0625 1463.3594,653.4453 Q1464.4531,652.8281 1465.6875,652.8281 Q1466.4219,652.8281 1467.0703,652.9922 Q1467.7188,653.1563 1468.2656,653.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="104" x="1479.5" y="662.5508">AudioManagerStub</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1451.5" x2="1585.5" y1="673.6406" y2="673.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1451.5" x2="1585.5" y1="681.6406" y2="681.6406"/><!--MD5=[36a5881472aab5a509bc1fffc819e8c7]
class AudioServer--><rect codeline="74" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioServer" style="stroke:#A80036;stroke-width:1.5;" width="98" x="1317.5" y="641.6406"/><ellipse cx="1332.5" cy="657.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1335.2656,653.5156 Q1335.4219,653.2969 1335.6094,653.1875 Q1335.7969,653.0781 1336.0156,653.0781 Q1336.3906,653.0781 1336.625,653.3359 Q1336.8594,653.5938 1336.8594,654.2031 L1336.8594,655.6563 Q1336.8594,656.2656 1336.625,656.5313 Q1336.3906,656.7969 1336.0156,656.7969 Q1335.6719,656.7969 1335.4688,656.5938 Q1335.2656,656.4063 1335.1563,655.8906 Q1335.1094,655.5313 1334.9219,655.3438 Q1334.5938,654.9688 1333.9844,654.75 Q1333.375,654.5313 1332.75,654.5313 Q1331.9844,654.5313 1331.3516,654.8594 Q1330.7188,655.1875 1330.2266,655.9375 Q1329.7344,656.6875 1329.7344,657.7188 L1329.7344,658.8125 Q1329.7344,660.0469 1330.625,660.8672 Q1331.5156,661.6875 1333.1094,661.6875 Q1334.0469,661.6875 1334.7031,661.4375 Q1335.0938,661.2813 1335.5156,660.8438 Q1335.7813,660.5781 1335.9297,660.5 Q1336.0781,660.4219 1336.2813,660.4219 Q1336.6094,660.4219 1336.8672,660.6797 Q1337.125,660.9375 1337.125,661.2813 Q1337.125,661.625 1336.7813,662.0313 Q1336.2813,662.6094 1335.4844,662.9375 Q1334.4063,663.3906 1333.1094,663.3906 Q1331.5938,663.3906 1330.3906,662.7656 Q1329.4063,662.2656 1328.7188,661.1953 Q1328.0313,660.125 1328.0313,658.8438 L1328.0313,657.6875 Q1328.0313,656.3594 1328.6484,655.2109 Q1329.2656,654.0625 1330.3594,653.4453 Q1331.4531,652.8281 1332.6875,652.8281 Q1333.4219,652.8281 1334.0703,652.9922 Q1334.7188,653.1563 1335.2656,653.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="66" x="1346.5" y="662.5508">AudioServer</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1318.5" x2="1414.5" y1="673.6406" y2="673.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1318.5" x2="1414.5" y1="681.6406" y2="681.6406"/><!--MD5=[6f166eff557c17e4f813a59a658aa6cd]
class AudioCapturerSource--><rect codeline="83" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="61.8359" id="AudioCapturerSource" style="stroke:#A80036;stroke-width:1.5;" width="150" x="904.5" y="634.6406"/><ellipse cx="919.5" cy="650.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M922.2656,646.5156 Q922.4219,646.2969 922.6094,646.1875 Q922.7969,646.0781 923.0156,646.0781 Q923.3906,646.0781 923.625,646.3359 Q923.8594,646.5938 923.8594,647.2031 L923.8594,648.6563 Q923.8594,649.2656 923.625,649.5313 Q923.3906,649.7969 923.0156,649.7969 Q922.6719,649.7969 922.4688,649.5938 Q922.2656,649.4063 922.1563,648.8906 Q922.1094,648.5313 921.9219,648.3438 Q921.5938,647.9688 920.9844,647.75 Q920.375,647.5313 919.75,647.5313 Q918.9844,647.5313 918.3516,647.8594 Q917.7188,648.1875 917.2266,648.9375 Q916.7344,649.6875 916.7344,650.7188 L916.7344,651.8125 Q916.7344,653.0469 917.625,653.8672 Q918.5156,654.6875 920.1094,654.6875 Q921.0469,654.6875 921.7031,654.4375 Q922.0938,654.2813 922.5156,653.8438 Q922.7813,653.5781 922.9297,653.5 Q923.0781,653.4219 923.2813,653.4219 Q923.6094,653.4219 923.8672,653.6797 Q924.125,653.9375 924.125,654.2813 Q924.125,654.625 923.7813,655.0313 Q923.2813,655.6094 922.4844,655.9375 Q921.4063,656.3906 920.1094,656.3906 Q918.5938,656.3906 917.3906,655.7656 Q916.4063,655.2656 915.7188,654.1953 Q915.0313,653.125 915.0313,651.8438 L915.0313,650.6875 Q915.0313,649.3594 915.6484,648.2109 Q916.2656,647.0625 917.3594,646.4453 Q918.4531,645.8281 919.6875,645.8281 Q920.4219,645.8281 921.0703,645.9922 Q921.7188,646.1563 922.2656,646.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="118" x="933.5" y="655.5508">AudioCapturerSource</text><line style="stroke:#A80036;stroke-width:1.5;" x1="905.5" x2="1053.5" y1="666.6406" y2="666.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="905.5" x2="1053.5" y1="674.6406" y2="674.6406"/><ellipse cx="915.5" cy="685.6406" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="78" x="924.5" y="690.0596">CreateCapture()</text><!--MD5=[4cbd78ceaabe9a123901fcf34bd066d8]
class AudioRendererSink--><rect codeline="86" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="61.8359" id="AudioRendererSink" style="stroke:#A80036;stroke-width:1.5;" width="139" x="1090" y="634.6406"/><ellipse cx="1105" cy="650.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1107.7656,646.5156 Q1107.9219,646.2969 1108.1094,646.1875 Q1108.2969,646.0781 1108.5156,646.0781 Q1108.8906,646.0781 1109.125,646.3359 Q1109.3594,646.5938 1109.3594,647.2031 L1109.3594,648.6563 Q1109.3594,649.2656 1109.125,649.5313 Q1108.8906,649.7969 1108.5156,649.7969 Q1108.1719,649.7969 1107.9688,649.5938 Q1107.7656,649.4063 1107.6563,648.8906 Q1107.6094,648.5313 1107.4219,648.3438 Q1107.0938,647.9688 1106.4844,647.75 Q1105.875,647.5313 1105.25,647.5313 Q1104.4844,647.5313 1103.8516,647.8594 Q1103.2188,648.1875 1102.7266,648.9375 Q1102.2344,649.6875 1102.2344,650.7188 L1102.2344,651.8125 Q1102.2344,653.0469 1103.125,653.8672 Q1104.0156,654.6875 1105.6094,654.6875 Q1106.5469,654.6875 1107.2031,654.4375 Q1107.5938,654.2813 1108.0156,653.8438 Q1108.2813,653.5781 1108.4297,653.5 Q1108.5781,653.4219 1108.7813,653.4219 Q1109.1094,653.4219 1109.3672,653.6797 Q1109.625,653.9375 1109.625,654.2813 Q1109.625,654.625 1109.2813,655.0313 Q1108.7813,655.6094 1107.9844,655.9375 Q1106.9063,656.3906 1105.6094,656.3906 Q1104.0938,656.3906 1102.8906,655.7656 Q1101.9063,655.2656 1101.2188,654.1953 Q1100.5313,653.125 1100.5313,651.8438 L1100.5313,650.6875 Q1100.5313,649.3594 1101.1484,648.2109 Q1101.7656,647.0625 1102.8594,646.4453 Q1103.9531,645.8281 1105.1875,645.8281 Q1105.9219,645.8281 1106.5703,645.9922 Q1107.2188,646.1563 1107.7656,646.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="107" x="1119" y="655.5508">AudioRendererSink</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1091" x2="1228" y1="666.6406" y2="666.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1091" x2="1228" y1="674.6406" y2="674.6406"/><ellipse cx="1101" cy="685.6406" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="75" x="1110" y="690.0596">CreateRender()</text><!--MD5=[88f85439212007055a9dc1ce392b24f0]
class AudioProxyManager--><rect codeline="103" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioProxyManager" style="stroke:#A80036;stroke-width:1.5;" width="140" x="904.5" y="844.6406"/><ellipse cx="919.5" cy="860.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M922.2656,856.5156 Q922.4219,856.2969 922.6094,856.1875 Q922.7969,856.0781 923.0156,856.0781 Q923.3906,856.0781 923.625,856.3359 Q923.8594,856.5938 923.8594,857.2031 L923.8594,858.6563 Q923.8594,859.2656 923.625,859.5313 Q923.3906,859.7969 923.0156,859.7969 Q922.6719,859.7969 922.4688,859.5938 Q922.2656,859.4063 922.1563,858.8906 Q922.1094,858.5313 921.9219,858.3438 Q921.5938,857.9688 920.9844,857.75 Q920.375,857.5313 919.75,857.5313 Q918.9844,857.5313 918.3516,857.8594 Q917.7188,858.1875 917.2266,858.9375 Q916.7344,859.6875 916.7344,860.7188 L916.7344,861.8125 Q916.7344,863.0469 917.625,863.8672 Q918.5156,864.6875 920.1094,864.6875 Q921.0469,864.6875 921.7031,864.4375 Q922.0938,864.2813 922.5156,863.8438 Q922.7813,863.5781 922.9297,863.5 Q923.0781,863.4219 923.2813,863.4219 Q923.6094,863.4219 923.8672,863.6797 Q924.125,863.9375 924.125,864.2813 Q924.125,864.625 923.7813,865.0313 Q923.2813,865.6094 922.4844,865.9375 Q921.4063,866.3906 920.1094,866.3906 Q918.5938,866.3906 917.3906,865.7656 Q916.4063,865.2656 915.7188,864.1953 Q915.0313,863.125 915.0313,861.8438 L915.0313,860.6875 Q915.0313,859.3594 915.6484,858.2109 Q916.2656,857.0625 917.3594,856.4453 Q918.4531,855.8281 919.6875,855.8281 Q920.4219,855.8281 921.0703,855.9922 Q921.7188,856.1563 922.2656,856.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="108" x="933.5" y="865.5508">AudioProxyManager</text><line style="stroke:#A80036;stroke-width:1.5;" x1="905.5" x2="1043.5" y1="876.6406" y2="876.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="905.5" x2="1043.5" y1="884.6406" y2="884.6406"/><!--MD5=[6ec093576dc9c1b4003929303111f5d5]
class AudioAdapter--><rect codeline="104" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioAdapter" style="stroke:#A80036;stroke-width:1.5;" width="105" x="1080" y="844.6406"/><ellipse cx="1095" cy="860.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1097.7656,856.5156 Q1097.9219,856.2969 1098.1094,856.1875 Q1098.2969,856.0781 1098.5156,856.0781 Q1098.8906,856.0781 1099.125,856.3359 Q1099.3594,856.5938 1099.3594,857.2031 L1099.3594,858.6563 Q1099.3594,859.2656 1099.125,859.5313 Q1098.8906,859.7969 1098.5156,859.7969 Q1098.1719,859.7969 1097.9688,859.5938 Q1097.7656,859.4063 1097.6563,858.8906 Q1097.6094,858.5313 1097.4219,858.3438 Q1097.0938,857.9688 1096.4844,857.75 Q1095.875,857.5313 1095.25,857.5313 Q1094.4844,857.5313 1093.8516,857.8594 Q1093.2188,858.1875 1092.7266,858.9375 Q1092.2344,859.6875 1092.2344,860.7188 L1092.2344,861.8125 Q1092.2344,863.0469 1093.125,863.8672 Q1094.0156,864.6875 1095.6094,864.6875 Q1096.5469,864.6875 1097.2031,864.4375 Q1097.5938,864.2813 1098.0156,863.8438 Q1098.2813,863.5781 1098.4297,863.5 Q1098.5781,863.4219 1098.7813,863.4219 Q1099.1094,863.4219 1099.3672,863.6797 Q1099.625,863.9375 1099.625,864.2813 Q1099.625,864.625 1099.2813,865.0313 Q1098.7813,865.6094 1097.9844,865.9375 Q1096.9063,866.3906 1095.6094,866.3906 Q1094.0938,866.3906 1092.8906,865.7656 Q1091.9063,865.2656 1091.2188,864.1953 Q1090.5313,863.125 1090.5313,861.8438 L1090.5313,860.6875 Q1090.5313,859.3594 1091.1484,858.2109 Q1091.7656,857.0625 1092.8594,856.4453 Q1093.9531,855.8281 1095.1875,855.8281 Q1095.9219,855.8281 1096.5703,855.9922 Q1097.2188,856.1563 1097.7656,856.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="73" x="1109" y="865.5508">AudioAdapter</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1081" x2="1184" y1="876.6406" y2="876.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1081" x2="1184" y1="884.6406" y2="884.6406"/><!--MD5=[4d54fe446e705f5d09873bd0f06a02a9]
class AudioRender--><rect codeline="105" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioRender" style="stroke:#A80036;stroke-width:1.5;" width="104" x="1220.5" y="844.6406"/><ellipse cx="1235.5" cy="860.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1238.2656,856.5156 Q1238.4219,856.2969 1238.6094,856.1875 Q1238.7969,856.0781 1239.0156,856.0781 Q1239.3906,856.0781 1239.625,856.3359 Q1239.8594,856.5938 1239.8594,857.2031 L1239.8594,858.6563 Q1239.8594,859.2656 1239.625,859.5313 Q1239.3906,859.7969 1239.0156,859.7969 Q1238.6719,859.7969 1238.4688,859.5938 Q1238.2656,859.4063 1238.1563,858.8906 Q1238.1094,858.5313 1237.9219,858.3438 Q1237.5938,857.9688 1236.9844,857.75 Q1236.375,857.5313 1235.75,857.5313 Q1234.9844,857.5313 1234.3516,857.8594 Q1233.7188,858.1875 1233.2266,858.9375 Q1232.7344,859.6875 1232.7344,860.7188 L1232.7344,861.8125 Q1232.7344,863.0469 1233.625,863.8672 Q1234.5156,864.6875 1236.1094,864.6875 Q1237.0469,864.6875 1237.7031,864.4375 Q1238.0938,864.2813 1238.5156,863.8438 Q1238.7813,863.5781 1238.9297,863.5 Q1239.0781,863.4219 1239.2813,863.4219 Q1239.6094,863.4219 1239.8672,863.6797 Q1240.125,863.9375 1240.125,864.2813 Q1240.125,864.625 1239.7813,865.0313 Q1239.2813,865.6094 1238.4844,865.9375 Q1237.4063,866.3906 1236.1094,866.3906 Q1234.5938,866.3906 1233.3906,865.7656 Q1232.4063,865.2656 1231.7188,864.1953 Q1231.0313,863.125 1231.0313,861.8438 L1231.0313,860.6875 Q1231.0313,859.3594 1231.6484,858.2109 Q1232.2656,857.0625 1233.3594,856.4453 Q1234.4531,855.8281 1235.6875,855.8281 Q1236.4219,855.8281 1237.0703,855.9922 Q1237.7188,856.1563 1238.2656,856.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="72" x="1249.5" y="865.5508">AudioRender</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1221.5" x2="1323.5" y1="876.6406" y2="876.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1221.5" x2="1323.5" y1="884.6406" y2="884.6406"/><!--MD5=[2f3a937f4c48b0fc55f32adf9c1688aa]
class AudioCapture--><rect codeline="106" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioCapture" style="stroke:#A80036;stroke-width:1.5;" width="107" x="921" y="952.6406"/><ellipse cx="936" cy="968.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M938.7656,964.5156 Q938.9219,964.2969 939.1094,964.1875 Q939.2969,964.0781 939.5156,964.0781 Q939.8906,964.0781 940.125,964.3359 Q940.3594,964.5938 940.3594,965.2031 L940.3594,966.6563 Q940.3594,967.2656 940.125,967.5313 Q939.8906,967.7969 939.5156,967.7969 Q939.1719,967.7969 938.9688,967.5938 Q938.7656,967.4063 938.6563,966.8906 Q938.6094,966.5313 938.4219,966.3438 Q938.0938,965.9688 937.4844,965.75 Q936.875,965.5313 936.25,965.5313 Q935.4844,965.5313 934.8516,965.8594 Q934.2188,966.1875 933.7266,966.9375 Q933.2344,967.6875 933.2344,968.7188 L933.2344,969.8125 Q933.2344,971.0469 934.125,971.8672 Q935.0156,972.6875 936.6094,972.6875 Q937.5469,972.6875 938.2031,972.4375 Q938.5938,972.2813 939.0156,971.8438 Q939.2813,971.5781 939.4297,971.5 Q939.5781,971.4219 939.7813,971.4219 Q940.1094,971.4219 940.3672,971.6797 Q940.625,971.9375 940.625,972.2813 Q940.625,972.625 940.2813,973.0313 Q939.7813,973.6094 938.9844,973.9375 Q937.9063,974.3906 936.6094,974.3906 Q935.0938,974.3906 933.8906,973.7656 Q932.9063,973.2656 932.2188,972.1953 Q931.5313,971.125 931.5313,969.8438 L931.5313,968.6875 Q931.5313,967.3594 932.1484,966.2109 Q932.7656,965.0625 933.8594,964.4453 Q934.9531,963.8281 936.1875,963.8281 Q936.9219,963.8281 937.5703,963.9922 Q938.2188,964.1563 938.7656,964.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="75" x="950" y="973.5508">AudioCapture</text><line style="stroke:#A80036;stroke-width:1.5;" x1="922" x2="1027" y1="984.6406" y2="984.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="922" x2="1027" y1="992.6406" y2="992.6406"/><!--MD5=[a12ad9466ac60568f55012ac56bfa1e5]
class AudioPort--><rect codeline="107" fill="#FEFECE" filter="url(#f11clz2zpeftgq)" height="48" id="AudioPort" style="stroke:#A80036;stroke-width:1.5;" width="85" x="1063" y="952.6406"/><ellipse cx="1078" cy="968.6406" fill="#ADD1B2" rx="11" ry="11" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1080.7656,964.5156 Q1080.9219,964.2969 1081.1094,964.1875 Q1081.2969,964.0781 1081.5156,964.0781 Q1081.8906,964.0781 1082.125,964.3359 Q1082.3594,964.5938 1082.3594,965.2031 L1082.3594,966.6563 Q1082.3594,967.2656 1082.125,967.5313 Q1081.8906,967.7969 1081.5156,967.7969 Q1081.1719,967.7969 1080.9688,967.5938 Q1080.7656,967.4063 1080.6563,966.8906 Q1080.6094,966.5313 1080.4219,966.3438 Q1080.0938,965.9688 1079.4844,965.75 Q1078.875,965.5313 1078.25,965.5313 Q1077.4844,965.5313 1076.8516,965.8594 Q1076.2188,966.1875 1075.7266,966.9375 Q1075.2344,967.6875 1075.2344,968.7188 L1075.2344,969.8125 Q1075.2344,971.0469 1076.125,971.8672 Q1077.0156,972.6875 1078.6094,972.6875 Q1079.5469,972.6875 1080.2031,972.4375 Q1080.5938,972.2813 1081.0156,971.8438 Q1081.2813,971.5781 1081.4297,971.5 Q1081.5781,971.4219 1081.7813,971.4219 Q1082.1094,971.4219 1082.3672,971.6797 Q1082.625,971.9375 1082.625,972.2813 Q1082.625,972.625 1082.2813,973.0313 Q1081.7813,973.6094 1080.9844,973.9375 Q1079.9063,974.3906 1078.6094,974.3906 Q1077.0938,974.3906 1075.8906,973.7656 Q1074.9063,973.2656 1074.2188,972.1953 Q1073.5313,971.125 1073.5313,969.8438 L1073.5313,968.6875 Q1073.5313,967.3594 1074.1484,966.2109 Q1074.7656,965.0625 1075.8594,964.4453 Q1076.9531,963.8281 1078.1875,963.8281 Q1078.9219,963.8281 1079.5703,963.9922 Q1080.2188,964.1563 1080.7656,964.5156 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="53" x="1092" y="973.5508">AudioPort</text><line style="stroke:#A80036;stroke-width:1.5;" x1="1064" x2="1147" y1="984.6406" y2="984.6406"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1064" x2="1147" y1="992.6406" y2="992.6406"/><!--MD5=[efcc2c8723c8624aac178741106799dc]
reverse link AudioCapturer to AudioCapturerPrivate--><path d="M876.5,133.6606 C876.5,147.2206 876.5,161.6806 876.5,173.3206 " fill="none" id="AudioCapturer-backto-AudioCapturerPrivate" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="none" points="869.5,133.6406,876.5,113.6406,883.5,133.6406,869.5,133.6406" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[b024e03a331bdbf65b866df9e6202981]
reverse link AudioSession to AudioStream--><path d="M1035.72,133.6606 C1036.1,147.2206 1036.51,161.6806 1036.84,173.3206 " fill="none" id="AudioSession-backto-AudioStream" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="none" points="1028.72,133.8306,1035.15,113.6406,1042.71,133.4306,1028.72,133.8306" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[a28aa82f9ce7260e176d127bda56afc5]
link AudioCapturerPrivate to AudioStream--><path codeline="8" d="M950.71,197.6406 C960.72,197.6406 970.73,197.6406 980.74,197.6406 " fill="none" id="AudioCapturerPrivate-to-AudioStream" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="985.97,197.6406,976.97,193.6406,980.97,197.6406,976.97,201.6406,985.97,197.6406" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[c8966c1b4606ae411b2f482fae274741]
reverse link AudioRenderer to AudioRendererPrivate--><path d="M691.5,133.6606 C691.5,147.2206 691.5,161.6806 691.5,173.3206 " fill="none" id="AudioRenderer-backto-AudioRendererPrivate" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="none" points="684.5,133.6406,691.5,113.6406,698.5,133.6406,684.5,133.6406" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[49782d17b9a3592da8bfce7a00b6c39e]
link AudioRendererPrivate to AudioStream--><path codeline="13" d="M730.14,173.5706 C750.9,162.0506 777.42,149.5106 803,143.6406 C867.11,128.9306 887.77,125.5206 951,143.6406 C969.98,149.0806 988.84,160.0206 1004.08,170.6506 " fill="none" id="AudioRendererPrivate-to-AudioStream" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1008.28,173.6306,1003.2503,165.1629,1004.2007,170.7393,998.6243,171.6897,1008.28,173.6306" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[ee5d4cab4090b8d256f98532972e22ce]
reverse link IAudioPolicy to AudioPolicyProxy--><path d="M560.86,508.3706 C555.6,505.1906 550.42,501.9206 545.5,498.6406 C527.26,486.4806 507.92,471.3206 492.83,458.9106 " fill="none" id="IAudioPolicy-backto-AudioPolicyProxy" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="none" points="564.45,502.3606,578.21,518.4806,557.41,514.4606,564.45,502.3606" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[656cb33104958cc456f9a97410d42e89]
reverse link AudioPolicyManagerStub to AudioPolicyServer--><path d="M518.25,683.3206 C513.35,683.0706 508.45,682.6606 503.55,682.1006 " fill="none" id="AudioPolicyManagerStub-backto-AudioPolicyServer" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="none" points="518.46,676.3206,538.4,683.5106,518.33,690.3206,518.46,676.3206" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[fde3d06d39a3c842361ccf52bc5666ed]
link AudioPolicyManagerStub to AudioPolicyServer--><!--MD5=[a89fbcb4fe232c3e290b2efa92ad9472]
reverse link IAudioPolicy to AudioPolicyManagerStub--><path d="M622.5,586.7206 C622.5,605.1006 622.5,625.8206 622.5,641.2706 " fill="none" id="IAudioPolicy-backto-AudioPolicyManagerStub" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="none" points="615.5,586.6806,622.5,566.6806,629.5,586.6806,615.5,586.6806" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[576b56343da05827f27d8351c2206b3c]
reverse link IAudioPolicyInterface to AudioAdapterManager--><path d="M263.93,709.8006 C264.34,751.0706 264.94,811.7406 265.27,844.5406 " fill="none" id="IAudioPolicyInterface-backto-AudioAdapterManager" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="none" points="256.93,709.7706,263.73,689.7006,270.93,709.6306,256.93,709.7706" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[72c4bd430947d5f7a69a507b5cd72742]
reverse link AudioServiceAdapter to PulseAudioServiceAdapterImpl--><path d="M282.37,1020.6606 C283.91,1034.2206 285.54,1048.6806 286.86,1060.3206 " fill="none" id="AudioServiceAdapter-backto-PulseAudioServiceAdapterImpl" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="none" points="275.4,1021.3006,280.1,1000.6406,289.31,1019.7306,275.4,1021.3006" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[1bd3e3457bbe1bfffa1b30e1f7b4e61d]
link PulseAudioServiceAdapterImpl to pulseaudio--><path codeline="36" d="M217.11,1060.6306 C206.42,1055.1906 196.12,1048.5906 187.5,1040.6406 C124.52,982.5606 98.5,955.3206 98.5,869.6406 C98.5,664.6406 98.5,664.6406 98.5,664.6406 C98.5,591.5006 79.88,506.8806 69.06,463.8806 " fill="none" id="PulseAudioServiceAdapterImpl-to-pulseaudio" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="67.78,458.8506,66.1159,468.5579,69.0095,463.6971,73.8703,466.5907,67.78,458.8506" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[a27905d5a34f33891fd1f801f4b402e9]
link AudioAdapterManager to AudioServiceAdapter--><path codeline="38" d="M268.1,892.6406 C269.92,908.6406 272.34,930.0906 274.28,947.1706 " fill="none" id="AudioAdapterManager-to-AudioServiceAdapter" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="274.86,952.3206,277.8061,942.9227,274.289,947.3533,269.8584,943.8363,274.86,952.3206" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[8b58a2bec9fbc129ddf6da35ede42acd]
reverse link AudioAdapterManager to AudioPolicyService--><path codeline="39" d="M347.23,868.6406 C357.11,868.6406 366.99,868.6406 376.88,868.6406 " fill="none" id="AudioAdapterManager-backto-AudioPolicyService" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="342.06,868.6406,351.06,872.6406,347.06,868.6406,351.06,864.6406,342.06,868.6406" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[d2b2916a261078f60274f4615c1accd2]
link AudioPolicyServer to AudioPolicyService--><path codeline="41" d="M439.19,689.7006 C440.29,726.7006 442.46,799.2606 443.66,839.3506 " fill="none" id="AudioPolicyServer-to-AudioPolicyService" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="443.81,844.5406,447.5253,835.4194,443.6529,839.5431,439.5293,835.6707,443.81,844.5406" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[176268ae83949edd56bedea4f243064a]
reverse link policy_client to IAudioPolicy--><!--MD5=[e124251945c7701d49194fbc6b14dae2]
link policy_client to policy_server--><!--MD5=[3ac5706f4d0929892deb1c3b713b334f]
reverse link AudioPolicyProxy to AudioPolicyManager--><path codeline="49" d="M532.76,434.6406 C542.72,434.6406 552.69,434.6406 562.65,434.6406 " fill="none" id="AudioPolicyProxy-backto-AudioPolicyManager" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="527.55,434.6406,536.55,438.6406,532.55,434.6406,536.55,430.6406,527.55,434.6406" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[b7453526e332725337e4e6f90ade2053]
link AudioPolicyProxy to AudioPolicyServer--><path codeline="50" d="M462.76,458.8606 C457.78,501.1206 447.25,590.4706 441.85,636.2606 " fill="none" id="AudioPolicyProxy-to-AudioPolicyServer" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="441.24,641.3606,446.2656,632.8905,441.825,636.395,438.3205,631.9544,441.24,641.3606" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[0aeb99c7cc8e6f675877665ec3a37b90]
reverse link pulseaudio to audio_service--><!--MD5=[bcf3b5965f4f3b87810e89dce17e979c]
reverse link IStandardAudioService to AudioManagerProxy--><path d="M1443.43,503.9906 C1427.72,488.8506 1410.11,471.8806 1396.37,458.6406 " fill="none" id="IStandardAudioService-backto-AudioManagerProxy" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="none" points="1448.75,499.4006,1458.3,518.3206,1439.04,509.4806,1448.75,499.4006" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[40da4f2362e499e710088de2304b6b56]
link AudioServiceClient to AudioSystemManager--><path codeline="68" d="M1080.32,451.5806 C1090.19,452.5406 1100.05,452.8506 1109.91,452.5006 " fill="none" id="AudioServiceClient-to-AudioSystemManager" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1115.07,452.2606,1105.8967,448.6758,1110.0752,452.489,1106.2621,456.6675,1115.07,452.2606" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[40da4f2362e499e710088de2304b6b56]
link AudioServiceClient to AudioSystemManager--><!--MD5=[cc7be205817aacd3d37d7d45a8874fbc]
reverse link pulseaudio to AudioServiceClient--><path codeline="71" d="M101.94,407.7806 C163.98,368.8306 287.79,299.8606 405,286.6406 C433.65,283.4106 895.35,283.4106 924,286.6406 C931.93,287.5306 935.24,285.6906 941.5,290.6406 C980.1,321.1406 999.22,378.0306 1007.38,410.4306 " fill="none" id="pulseaudio-backto-AudioServiceClient" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="97.58,410.5306,107.3286,409.129,101.8136,407.8704,103.0722,402.3553,97.58,410.5306" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[c6014e86803a19e7b4ee371fb88af786]
reverse link IStandardAudioService to AudioManagerStub--><path d="M1495.14,586.1206 C1500.65,604.6506 1506.9,625.6506 1511.55,641.2706 " fill="none" id="IStandardAudioService-backto-AudioManagerStub" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="none" points="1488.35,587.8506,1489.36,566.6806,1501.77,583.8606,1488.35,587.8506" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[ca89bf13ca116b91ea368c45c9589daa]
reverse link AudioManagerStub to AudioServer--><path d="M1430.07,683.1606 C1425.31,682.7906 1420.54,682.2106 1415.78,681.4206 " fill="none" id="AudioManagerStub-backto-AudioServer" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="none" points="1430.39,676.1606,1450.29,683.4506,1430.19,690.1606,1430.39,676.1606" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[cea31ffdb849a853ddaa29df8c5ba4cc]
link AudioManagerStub to AudioServer--><!--MD5=[f88193c9da74b9863ab73cd80a49623e]
link AudioServer to AudioCapturerSource--><path codeline="91" d="M1344.89,641.3306 C1318.9,614.7006 1272.46,574.9806 1222.17,569.3106 C1194.27,566.1606 1123.73,566.1606 1095.83,569.3106 C1085.26,570.5006 1081.84,569.5406 1072.5,574.6406 C1047.03,588.5406 1023.71,611.4006 1006.79,630.7306 " fill="none" id="AudioServer-to-AudioCapturerSource" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1003.49,634.5406,1012.4011,630.3463,1006.7592,630.7575,1006.3481,625.1156,1003.49,634.5406" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[a82a23e4da53a574f02e455145ea6570]
link AudioServer to AudioRendererSink--><path codeline="92" d="M1317.37,648.8106 C1289.65,642.2606 1261.93,640.7206 1234.21,644.1906 " fill="none" id="AudioServer-to-AudioRendererSink" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1229.04,644.8906,1238.4954,647.6464,1233.9948,644.2195,1237.4217,639.7188,1229.04,644.8906" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[b3bf0acbc37d8dcc52b4d078e0ffa1b7]
reverse link client to IStandardAudioService--><!--MD5=[6e668341980b2b6f3174a2b130bbe9df]
link client to server--><!--MD5=[59eb864b08acdd1cc537768979493cad]
link AudioSystemManager to AudioManagerProxy--><path codeline="97" d="M1267.51,434.6406 C1277.4,434.6406 1287.3,434.6406 1297.19,434.6406 " fill="none" id="AudioSystemManager-to-AudioManagerProxy" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1302.37,434.6406,1293.37,430.6406,1297.37,434.6406,1293.37,438.6406,1302.37,434.6406" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[4153389d1246d71eb9c22768a2bbedb6]
link AudioManagerProxy to AudioServer--><path codeline="98" d="M1371.89,458.8606 C1370.78,501.1206 1368.44,590.4706 1367.24,636.2606 " fill="none" id="AudioManagerProxy-to-AudioServer" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1367.11,641.3606,1371.34,632.4664,1367.2385,636.3623,1363.3427,632.2608,1367.11,641.3606" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[e5261eddbc6f61c1cc04594ff123c938]
link source_sink to drivers_peripheral_audio--><path d="M869.5,720.8604 C869.5,721.5444 869.5,722.2321 869.5,722.9233 C869.5,725.6879 869.5,728.5082 869.5,731.3732 C869.5,742.833 869.5,755.0066 869.5,767.1794 C869.5,773.2658 869.5,779.352 869.5,785.3488 C869.5,788.3472 869.5,791.3232 869.5,794.2656 C869.5,795.7369 869.5,797.1997 869.5,798.6528 C869.5,799.0161 869.5,799.3788 869.5,799.7408 C869.5,799.9218 869.5,800.1027 869.5,800.2833 " fill="none" id="source_sink-to-drivers_peripheral_audio" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="869.5,800.2833,873.5,791.2833,869.5,795.2833,865.5,791.2833,869.5,800.2833" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[4566a29b540bbd2dd9967a6e6c8071b4]
link AudioRendererPrivate to AudioServiceClient--><!--MD5=[aa7a84fcf89461eca17e10046d2c153e]
link AudioSystemManager to AudioPolicyManager--><path codeline="114" d="M1182.56,410.6006 C1169.19,378.1206 1140.86,320.8506 1097.5,290.6406 C1090.95,286.0806 1087.93,287.5306 1080,286.6406 C1041.14,282.2506 766.86,282.2506 728,286.6406 C720.07,287.5306 716.83,285.7806 710.5,290.6406 C672.94,319.4906 651.99,372.2506 642,405.2706 " fill="none" id="AudioSystemManager-to-AudioPolicyManager" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="640.49,410.4006,646.8706,402.8981,641.9031,405.6045,639.1968,400.637,640.49,410.4006" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[7b64e8fc042487d669dc430d47457fdd]
link AudioSession to AudioServiceClient--><path codeline="115" d="M1062.98,113.9406 C1079.11,129.0406 1097.76,150.2306 1106.5,173.6406 C1117.69,203.6206 1113.85,214.5006 1106.5,245.6406 C1093.66,300.0506 1062.52,356.6706 1039.58,393.3706 " fill="none" id="AudioSession-to-AudioServiceClient" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="none" points="1045.34,397.3506,1028.63,410.3906,1033.57,389.7806,1045.34,397.3506" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[07825f7d5b2abe219c2281f6f824ae51]
link AudioProxyManager to AudioAdapter--><!--MD5=[d4bd572a973c470684009b18bbf8fea9]
link AudioAdapter to AudioRender--><!--MD5=[1a32dbb941cbcd6f49f44c34d68eb88d]
link AudioProxyManager to AudioCapture--><!--MD5=[143855eaa9f499a8768f24f60a3396c5]
link AudioCapture to AudioPort--><!--MD5=[4b466e8d32fb953b0d74229cf111f987]
@startuml
title:openharmony_audio
component frameworks {
       class AudioCapturer
       class AudioCapturerPrivate extends AudioCapturer
       class AudioSession
       class AudioStream extends AudioSession

       AudioCapturerPrivate->AudioStream

       class AudioRenderer
       class AudioRendererPrivate  extends AudioRenderer

       AudioRendererPrivate->AudioStream

}



component audio_policy {
    interface IAudioPolicy

    component policy_client {
        class AudioPolicyManager
        class AudioPolicyProxy  implements IAudioPolicy
    }
    component policy_server {
        class AudioPolicyServer extends AudioPolicyManagerStub
        class AudioPolicyManagerStub implements IAudioPolicy

        interface IAudioPolicyInterface
        class AudioAdapterManager implements IAudioPolicyInterface
        class AudioPolicyService
        class AudioServiceAdapter
        class PulseAudioServiceAdapterImpl extends AudioServiceAdapter

        PulseAudioServiceAdapterImpl->pulseaudio

        AudioAdapterManager-down->AudioServiceAdapter
        AudioPolicyService-left->AudioAdapterManager

       AudioPolicyServer-down->AudioPolicyService
        AudioPolicyManagerStub -right[hidden]- -> AudioPolicyServer
    }

    IAudioPolicy-up[hidden]->policy_client

    policy_client -up[hidden]- -> policy_server

    AudioPolicyManager-left->AudioPolicyProxy
    AudioPolicyProxy->AudioPolicyServer
    
}

audio_service-left[hidden]->pulseaudio

component pulseaudio {
     
}

component audio_service {
    interface IStandardAudioService
    component client {
        class AudioSystemManager
        class AudioStream
        class AudioServiceClient
        class AudioManagerProxy implements IStandardAudioService
        
        AudioServiceClient->AudioSystemManager
    }
    AudioServiceClient-right[hidden]->AudioSystemManager
AudioServiceClient-left->pulseaudio
    component server {
        class AudioManagerStub implements IStandardAudioService
        class AudioServer extends AudioManagerStub
        class AudioManagerStub

        AudioManagerStub -right[hidden]- -> AudioServer


    }

    component source_sink {
        class AudioCapturerSource{
            + CreateCapture()
        }
        class AudioRendererSink {
           + CreateRender()
        }
    }

    AudioServer->AudioCapturerSource
    AudioServer->AudioRendererSink

    IStandardAudioService-up[hidden]->client

    client -up[hidden]- -> server
    AudioSystemManager->AudioManagerProxy
    AudioManagerProxy->AudioServer
}


component drivers_peripheral_audio {
    class AudioProxyManager
    class AudioAdapter
    class AudioRender
    class AudioCapture
    class AudioPort
}


source_sink-down->drivers_peripheral_audio
AudioRendererPrivate- -down[hidden]->AudioServiceClient
 
AudioSystemManager->AudioPolicyManager
AudioSession -|> AudioServiceClient
@enduml

PlantUML version 1.2021.12(Wed Oct 06 00:01:58 CST 2021)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Default Encoding: UTF-8
Language: zh
Country: CN
--></g></svg></p>
      </div>
      
      
    
    
    
    
    
    
    
    
  
    </body></html>